package edu.udo.sopra10.chaturaji.util;

/**
 * A working variant of the {@link Cloneable} interface. This interface requires
 * a public implementation of {@link Object#clone()}.
 * 
 * @author Simon Dierl
 */
public interface Clonable extends Cloneable {
	/**
	 * A public implementation of {@link Object#clone()}. Although this method
	 * returns an {@link Object}, the returned object MUST be of the same class
	 * as the object on which the method was invoked.
	 * 
	 * @return a clone of this object.
	 */
	public Object clone();
}
